package com.hhd.form.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 单据菜单默认搜索条件定义
 * @author tangzy
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("design_form_menu_search_query")
public class DesignFormMenuSearchQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    /**
     * 值和字段的关系(= , > , <, >=, <=, like, in, !=, is null, is not null)
     */
    @TableField("search_condition")
    private String searchCondition;

    /**
     * 单据id
     */
    @TableField("form_id")
    private String formId;

    /**
     * 自定义查询字段的id
     */
    @TableField("field_id")
    private String fieldId;

    /**
     * 字段值的标题
     */
    @TableField("field_title")
    private String fieldTitle;

    /**
     * 字段值
     */
    @TableField("field_value")
    private String fieldValue;

    /**
     * 字段值的类型
     */
    @TableField("field_value_type")
    private String fieldValueType;

    /**
     * 前缀
     */
    @TableField("prefix")
    private String prefix;

    /**
     * 后缀
     */
    @TableField("suffix")
    private String suffix;

    /**
     * 连接类型
     */
    @TableField("join_type")
    private String joinType;

    /**
     * 自定义查询字段的排序
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 菜单id
     */
    @TableField("form_menu_id")
    private String formMenuId;

    @TableField("create_by")
    private String createBy;

    @TableField("create_time")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @TableField("update_by")
    private String updateBy;

    @TableField("update_time")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;


}
